package com.simple.common.entity.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;

/**
 * @author yasud
 * @date 2021年09月17日 22:44
 * @description
 */
@Data
@TableName("t_refund_trade")
public class RefundTradeEntity extends BaseTimeEntity {

    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 商户退款订单号
     */
    private String merchantRefundNo;

    /**
     * 退款金额
     */
    private BigDecimal refundAmount;

    /**
     * 退款金额
     */
    private String refundCurrency;

    /**
     * 实际退款金额
     */
    private BigDecimal realRefundAmount;

    /**
     * 实际退款币种
     */
    private String realRefundCurrency;

    /**
     * 渠道返回退款币种
     */
    private String channelRefundCurrency;

    /**
     * 渠道返回退款金额
     */
    private BigDecimal channelRefundAmount;

    /**
     * 退款状态
     */
    private Status refundStatus;

    /**
     * 退款信息
     */
    private String refundMsg;

    /**
     * 渠道返回退款状态
     */
    private String channelRefundStatus;

    /**
     * 渠道返回退款信息
     */
    private String channelRefundMsg;

    private String channelRefundNo;

    /**
     * 对应交易id
     */
    private Long tradeId;


    /**
     * 订单退款状态
     */
    public enum RefundStatus {

        /**
         * 没有退款
         */
        NONE,

        /**
         * 部分退款
         */
        REFUND_PART,

        /**
         * 全部退款
         */
        REFUND_FULL
    }

    /**
     * 退款状态
     */
    public enum Status {

        /**
         * 已受理
         */
        ACCEPT,

        /**
         * 处理中
         */
        PENDING,

        /**
         * 成功
         */
        SUCCESS,

        /**
         * 失败
         */
        FAILED
    }


}
